﻿using System;
using System.Collections.Generic;

namespace Test.Entities
{
	public sealed class User : Identifiable
	{
		#region Constructors

		public User(Guid accountId, string emailAddress, string userName, string password, string firstName, string lastName, UserInformation information = null, UserStatus status = UserStatus.Enabled)
		{
			AccountId = accountId;
			EmailAddress = emailAddress;
			UserName = userName;
			Password = password;
			FirstName = firstName;
			LastName = lastName;
			Information = information ?? UserInformation.Empty;
			Status = status;
		}

		#endregion

		#region Properties

		public Guid AccountId { get; set; }
		public string EmailAddress { get; set; }
		public string UserName { get; set; }
		public string Password { get; set; }
		public string FirstName { get; set; }
		public string LastName { get; set; }
		public IList<Address> Addresses { get; set; }
		public UserInformation Information { get; set; }
		public UserStatus Status { get; set; }

		#endregion
	}
}